<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>this指向</title>
</head>
<body>
  <div>
    <h2  id="a">
      h2h2
      <span>js严格模式下的this指向，es6模块默认使用严格模式</span>
    </h2>
  </div>

  <!-- <script>
    //默认情况下  this指向window
    // 事件处理函数中, this指向事件源
    // 在对象中，this指向对象本身
    // 箭头函数 没有自己的this指向，会跟随父元素

    // 严格模式下没有this

    // 1、默认情况下，this指向window
    console.log(this)
    function fn1(){
      console.log(this)
    }
    fn1()


    // 2、事件处理函数中，this指向事件源
    // 这里不能用箭头函数
    let oDiv = document.getElementById('a')
    console.log(a)
    oDiv.onclick = function (){
      console.log(1234)
      console.log(this)
    }


    // 3、在对象中，this指向对象本身
    let obj1 = {
      name:'ljj',
      age:'19',
      say: function(){
        console.log(123)
        // this指向对象本身
        console.log(this)

        return ()=>{
          console.log(this)
        }
      },
      speak:()=>{
        // 箭头函数的this跟随父元素
        console.log(this)

        // return function (){
        //   // 默认指向window
        //   console.log(this)
        // }

        return ()=>{
          console.log(this)
        }
      }

    }
    obj1.say()()
    obj1.speak()()

  </script> -->

</body>
</html>